import java.util.*;
//坑点：int类型一个也过不了
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class code3 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        //怎么拿到最大的数->堆
        int n = in.nextInt(),k = in.nextInt();
        long sum = 0;
        //创建大根堆
        PriorityQueue<Integer> priorityQueue = new PriorityQueue<>((a,b)->b-a);
        for(int i=0;i<n;i++) {
            long x = in.nextLong();
            //偶数才加入
            if(x%2==0) priorityQueue.add((int)x);
                //奇数直接加入结果
            else sum+=x;
        }
        //进行操作
        while(!priorityQueue.isEmpty()&&k!=0) {
            long x = priorityQueue.poll();
            x /= 2;
            if(x%2==0) priorityQueue.add((int)x);
            else sum+=x;
            k--;
        }
        //剩下的也要加入堆
        while(!priorityQueue.isEmpty()) {
            long x = priorityQueue.poll();
            sum += x;
        }
        System.out.print(sum);
    }
}